package com.siwei.mes.mapper.experiment;

import com.siwei.mes.common.base.BaseMapper;
import com.siwei.mes.entity.erp.Rwdextra;
import com.siwei.mes.entity.experiment.ExperimentTask;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 试验台账与任务关系(ExperimentTask)表数据库访问层
 *
 * @author linzi
 * @since 2023-12-18 22:11:49
 */
public interface ExperimentTaskMapper extends BaseMapper<ExperimentTask> {
    /**
     * 获取所有
     *
     * @param entity
     * @return
     */
    List<ExperimentTask> getList(ExperimentTask entity);

    /**
     * 根据id获取
     *
     * @param id
     * @return
     */
    ExperimentTask loadById(@Param("id") Long id);

    /**
     * 根据试验台账id获取对应任务信息
     *
     * @param experimentId
     * @return
     */
    List<Rwdextra> selectByExperimentId(@Param("experimentId") Long experimentId);

    /**
     * 根据试验委托id删除
     *
     * @param experimentId 试验委托id
     */
    void deleteByExperimentId(@Param("experimentId") Long experimentId);

    /**
     * 根据委托id获取所有任务的工程名称
     *
     * @param experimentId 试验委托id
     * @return
     */
    String getProjectNameStr(@Param("experimentId") Long experimentId);

    /**
     * 修改对应readTime为空的关联数据
     *
     * @param experimentId 试验委托id
     */
    void updateReadTimeIsNull(@Param("experimentId") Long experimentId);
}
